/* Floating UI — docks the OneSignal bell with the back-to-top button and
   cookie banner. We only move/hide #onesignal-bell-container, so the launcher
   keeps its native size and behaviour. Pairs with assets/js/floating-ui.js.

   NB: the offsets below are tuned to OneSignal's live launcher config (sm /
   48px box, 20px inset). If that size or #onesignal-bell-container's structure
   changes in the OneSignal dashboard/SDK, these values must be re-tuned —
   misalignment is silent (no error). */

/* Dock the bell centred over the back-to-top button (48px launcher box, 20px inset). */
#onesignal-bell-container {
	right: -2px !important;
	bottom: -2px !important;
	z-index: 91 !important; /* match back-to-top; stay below the cookie banner */
	transition: bottom 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}

/* Live Customizer CSS margins the launcher button, nudging the bell off-centre. */
#onesignal-bell-container .onesignal-bell-launcher-button {
	margin: 0 !important;
}

/* Raise above the back-to-top button while it is on screen. */
body.eg-scrolltop-active #onesignal-bell-container {
	bottom: 60px !important;
}

@media (min-width: 992px) {
	#onesignal-bell-container {
		right: 14px !important;
		bottom: 14px !important;
	}

	body.eg-scrolltop-active #onesignal-bell-container {
		bottom: 76px !important;
	}
}

/* Hide both floating controls while any GDPR UI is open. */
body.gdpr-eg-bar-open #onesignal-bell-container,
body.gdpr-eg-bar-open .cs-scroll-top,
body.gdpr-noscroll #onesignal-bell-container,
body.gdpr-noscroll .cs-scroll-top {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
	#onesignal-bell-container {
		transition: none !important;
	}

	.cs-scroll-top {
		transition: none !important;
	}
}
